/*
 * @Author: Lee.mark 
 * @Date: 2018-05-06 11:53:17 
 * @Last Modified by: Lee.mark
 * @Last Modified time: 2018-05-06 20:49:14
 */

// 引入数据库链接
let connect = require('./db');
// 时间显示
let moment = require('moment');
// md5加密
let md5 = require('md5');

// 用户模块
// 输出首页文件
module.exports.showSignin = (req, res) => {
  // 渲染登陆页
  res.render('login.html');
}

module.exports.handleSignin = (req, res) => {
  res.send('处理登录页');
}

module.exports.showSignup = (req, res) => {
  // 渲染注册页
  res.render('register.html');
}

module.exports.handleSignup = (req, res) => {
  // 查询邮箱信息
  connect.query('select * from users where email=?', req.body.email, (error, result) => {
    // 判断错误信息
    if (error) {
      return res.send(error);
    }
    // 判断邮箱注册 取得数组中第一条数据
    if (result[0]) {
      return res.status(200).send({
        code: 10000,
        message: '邮箱已被注册!'
      });
    }
    // 查询昵称信息
    connect.query('select * from users where nickname=?', req.body.nickname, (error, result) => {
      // 判断错误信息
      if (error) {
        return res.send(error);
      }
      // 判断昵称
      if (result[0]) {
        return res.status(200).send({
          code: 10001,
          message: '昵称已被占用!'
        });
      }
    });
    // 注册用户
    let newUser = {
      email: req.body.email,
      nickname: req.body.nickname,
      password: md5(md5(req.body.password)),
      createdAt: moment().format('YYYY-MM-DD HH:mm:ss'),
      updatedAt: moment().format('YYYY-MM-DD HH:mm:ss')
    }
    // 插入用户信息
    connect.query('insert into users set?', newUser, (error, result) => {
      if (error) {
        res.send({
          code: error.code,
          message: error.message
        });
      }
      // 判断用户是否注册成功
      if (result.insertId) {
        res.send({
          code: 10002,
          message: '注册成功!'
        });
      }
    });
  });
}

module.exports.handleSignout = (req, res) => {
  res.send('处理退出请求');
}